home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
eulisp
/
mpfeel.lha
/
MPFeel
/
Plurals
/
constant.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-06
|
2KB
|
77 lines
/*
* Plurals
*
* Author: S.C.Merrall
*
* File: constant.h
*
* Contents: FAIL
* SUCCESS
* TRUE
* FALSE
* SCRATCH_MEMORY_SIZE
* FE_WORD
*
* Description: Universal constant definitions
*
* Change History:
*
* Date Name Comment
* -------- ---- -------
* 16:05:91 SCM Recreated after accidentally deleting most of sources
* 22:05:91 SCM Moved definition of SCRATCH_MEMORY_SIZE from mp_gc.h
* 06:04:92 SCM Special addresses of NIL and NOT_NIL changed
*
*/
#define FAIL 0
#define SUCCESS 1
#ifdef TRUE
#else
#define FALSE 0
#define TRUE 1
#endif
/* It is necessary for Feel to know the size of the scratch space */
/* mp_eubang.h includes this file so it is only file which has to */
/* be include in eubang.c */
#define SCRATCH_MEMORY_SIZE 64 /* 64 Bytes */
#define FE_WORD sizeof(int) /* The front end encodes lipobjects in 32-bit
* words.
*/
#define MP_NONE_ACTIVE 1
#define MP_SOME_ACTIVE 2
/* #define NIL 0x7FFF
* #define NOT_NIL 0x0001
*
* These used to be just unique addresses, but for simplicity - mainly by
* cutting down the number of comparisons made at run-time - I am
* now allocating symbolks for the objects - this means we can check the
* contents without having to check if the object is actually there!
* The addresses though are still unique and will be preserved through GC!
*/
/* These are the ids the objects are stored under in the table on the host */
#define MP_NIL_ID 0
#define MP_T_ID 1
/* These are the unique addresses, a better system will be to have two
* global variables with these values which are set at run-time, this is
* in case the allocation strategy changes (e.g. 32-bit heap) - which might
* cause these unique addresses to change. This at the moment requires
* too much work, and can be delayed till I get round to hacking all the
* files for GC in the middle of doing something coherence
*/
#define NIL 1
#define NOT_NIL 5